#include "mytextedit.h"
#include <QWheelEvent>

MyTextEdit::MyTextEdit(QWidget *parent):QTextEdit(parent)
{
    //
}

void MyTextEdit::keyPressEvent(QKeyEvent *e)
{
    if(e->key()==Qt::Key_Control){
        isPerssedCtrl = true;
    }
    QTextEdit::keyPressEvent(e);
}

void MyTextEdit::keyReleaseEvent(QKeyEvent *e)
{
    if(e->key()==Qt::Key_Control){
       isPerssedCtrl = false;
    }

      QTextEdit::keyReleaseEvent(e);
}

void MyTextEdit::wheelEvent(QWheelEvent *e)
{
    //鼠标滚轮，首先需要配合ctrl键来设置
    if(isPerssedCtrl){
        if(e->delta()>0){
//            qDebug() << "up";
            zoomIn();
        }else{
    //        qDebug() << "down";
            zoomOut();
        }
        //由于，你滚轮滚动的时候，其实当文本内容很多会出现滚动条
        // 你滚轮会去响应这个滚动条的事件，那我们调用e.accept来告诉文本编辑器,
        // 目前的这个按键组合，我已经处理了，不需要再往外传播，所以只会响应我的事件
        e->accept();//表示响应结束，不再传播
    }
    //其它按照之前的规律处理
    QTextEdit::wheelEvent(e);

}
